[INFO] cloning repository https://github.com/admiral-akk/black-hole
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/admiral-akk/black-hole" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadmiral-akk%2Fblack-hole", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadmiral-akk%2Fblack-hole'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 80e9d1dbb04f604a1ca966cd3eb0221199fe372b
[INFO] checking admiral-akk/black-hole against master#e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadmiral-akk%2Fblack-hole" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/admiral-akk/black-hole on toolchain e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/admiral-akk/black-hole
[INFO] finished tweaking git repo https://github.com/admiral-akk/black-hole
[INFO] tweaked toml for git repo https://github.com/admiral-akk/black-hole written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/admiral-akk/black-hole already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2189379d815d75ced1e37617deabd06ae96ba1e39c609161d6182b16786a474a
[INFO] running `Command { std: "docker" "start" "-a" "2189379d815d75ced1e37617deabd06ae96ba1e39c609161d6182b16786a474a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2189379d815d75ced1e37617deabd06ae96ba1e39c609161d6182b16786a474a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2189379d815d75ced1e37617deabd06ae96ba1e39c609161d6182b16786a474a", kill_on_drop: false }`
[INFO] [stdout] 2189379d815d75ced1e37617deabd06ae96ba1e39c609161d6182b16786a474a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff9e90b1ad633b23edf66e35ca0b58290dc5a5b955074b0019c0c559db0d09c1
[INFO] running `Command { std: "docker" "start" "-a" "ff9e90b1ad633b23edf66e35ca0b58290dc5a5b955074b0019c0c559db0d09c1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]     Checking once_cell v1.13.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]     Checking libloading v0.7.3
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling crossbeam-utils v0.8.10
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.9
[INFO] [stderr]     Checking futures-sink v0.3.21
[INFO] [stderr]    Compiling ucd-trie v0.1.4
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.5
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking miniz_oxide v0.5.3
[INFO] [stderr]    Compiling cmake v0.1.48
[INFO] [stderr]    Compiling wayland-sys v0.29.4
[INFO] [stderr]    Compiling indexmap v1.9.1
[INFO] [stderr]    Compiling serde_derive v1.0.138
[INFO] [stderr]    Compiling wayland-scanner v0.29.4
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking termcolor v1.1.3
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]     Checking nix v0.22.3
[INFO] [stderr]     Checking deflate v1.0.0
[INFO] [stderr]     Checking spin v0.9.3
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking weezl v0.1.6
[INFO] [stderr]    Compiling serde v1.0.138
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]    Compiling ash v0.37.0+1.3.209
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling wayland-client v0.29.4
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.1
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking bit_field v0.10.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking unicode-xid v0.2.3
[INFO] [stderr]     Checking lebe v0.5.1
[INFO] [stderr]    Compiling wgpu-core v0.13.2
[INFO] [stderr]     Checking gif v0.11.4
[INFO] [stderr]     Checking gpu-alloc v0.5.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.3
[INFO] [stderr]     Checking png v0.17.5
[INFO] [stderr]     Checking jpeg-decoder v0.2.6
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking wgpu-types v0.13.2
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking profiling v1.0.6
[INFO] [stderr]     Checking tiff v0.7.3
[INFO] [stderr]     Checking inplace_it v0.3.4
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking plotters-backend v0.3.4
[INFO] [stderr]     Checking wayland-commons v0.29.4
[INFO] [stderr]    Compiling font-kit v0.11.0
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]     Checking scoped-tls v1.0.0
[INFO] [stderr]     Checking glow v0.11.2
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]     Checking renderdoc-sys v0.7.1
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking freetype v0.7.0
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]    Compiling wayland-protocols v0.29.4
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking iana-time-zone v0.1.45
[INFO] [stderr]    Compiling serde_json v1.0.82
[INFO] [stderr]     Checking copyless v0.1.5
[INFO] [stderr]     Checking float-ord v0.2.0
[INFO] [stderr]     Checking chrono v0.4.22
[INFO] [stderr]     Checking plotters-svg v0.3.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]    Compiling x11-dl v2.20.0
[INFO] [stderr]     Checking ryu v1.0.10
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]     Checking itoa v1.0.2
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]    Compiling toml v0.5.9
[INFO] [stderr]     Checking wayland-cursor v0.29.4
[INFO] [stderr]     Checking calloop v0.9.3
[INFO] [stderr]     Checking futures-intrusive v0.4.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling bytemuck_derive v1.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.0.11
[INFO] [stderr]     Checking bytemuck v1.10.0
[INFO] [stderr]     Checking memmap2 v0.3.1
[INFO] [stderr]     Checking itertools v0.10.3
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]    Compiling thiserror v1.0.31
[INFO] [stderr]    Compiling pest v2.2.1
[INFO] [stderr]    Compiling proc-macro-crate v1.2.0
[INFO] [stderr]     Checking naga v0.9.0
[INFO] [stderr]     Checking pin-project v1.0.11
[INFO] [stderr]     Checking flume v0.10.13
[INFO] [stderr]     Checking ciborium-io v0.2.0
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling num_enum_derive v0.5.7
[INFO] [stderr]     Checking exr v1.4.2
[INFO] [stderr]     Checking glam v0.21.2
[INFO] [stderr]    Compiling semver-parser v0.10.2
[INFO] [stderr]    Compiling semver v0.11.0
[INFO] [stderr]    Compiling rustc_version v0.3.3
[INFO] [stderr]     Checking regex-syntax v0.6.27
[INFO] [stderr]     Checking pollster v0.2.5
[INFO] [stderr]     Checking num_enum v0.5.7
[INFO] [stderr]     Checking ciborium-ll v0.2.0
[INFO] [stderr]    Compiling pathfinder_simd v0.5.1
[INFO] [stderr]     Checking mio v0.8.4
[INFO] [stderr]     Checking image v0.24.2
[INFO] [stderr]     Checking wgpu-hal v0.13.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.81
[INFO] [stderr]     Checking regex v1.6.0
[INFO] [stderr]     Checking percent-encoding v2.1.0
[INFO] [stderr]    Compiling bumpalo v3.10.0
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.81
[INFO] [stderr]    Compiling wasm-bindgen v0.2.81
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-io v0.3.21
[INFO] [stderr]    Compiling anyhow v1.0.61
[INFO] [stderr]     Checking pin-project-lite v0.2.9
[INFO] [stderr]     Checking slab v0.4.6
[INFO] [stderr]     Checking half v2.1.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.81
[INFO] [stderr]     Checking plotters-bitmap v0.3.2
[INFO] [stderr]     Checking plotters v0.3.2
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.81
[INFO] [stderr]     Checking flexbuffers v2.0.0
[INFO] [stderr]     Checking ciborium v0.2.0
[INFO] [stderr]     Checking test-utils v0.1.0 (/opt/rustwide/workdir/test_utils)
[INFO] [stderr]     Checking js-sys v0.3.58
[INFO] [stderr]     Checking futures-executor v0.3.21
[INFO] [stderr]     Checking futures v0.3.21
[INFO] [stderr]     Checking wasm-timer v0.2.5
[INFO] [stderr]     Checking wgpu v0.13.1
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.31
[INFO] [stderr]     Checking web-sys v0.3.58
[INFO] [stderr]     Checking wire-structs v0.1.0 (/opt/rustwide/workdir/wire_structs)
[INFO] [stdout] warning: unused imports: `PI`, `TAU`
[INFO] [stdout]  --> wire_structs/src/sampler/approximation_function.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::{FRAC_PI_2, PI, TAU};
[INFO] [stdout]   |                                   ^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PI`, `TAU`, `ops::Mul`
[INFO] [stdout]  --> wire_structs/src/sampler/combined_ray_approximation.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 |     f32::consts::{FRAC_PI_2, PI, TAU},
[INFO] [stdout]   |                              ^^  ^^^
[INFO] [stdout] 3 |     ops::Mul,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PI`
[INFO] [stdout]  --> wire_structs/src/sampler/distance_velocity_paths.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::{PI, TAU};
[INFO] [stdout]   |                        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Vec2`
[INFO] [stdout]  --> wire_structs/src/sampler/gpu/gpu_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glam::Vec2;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> wire_structs/src/sampler/gpu/gpu_state.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]   --> wire_structs/src/sampler/gpu/gpu_state.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     field::{Field, Particle},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> wire_structs/src/sampler/simple_path_generator.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 |     distance_velocity_paths::{self, DistanceVelocityPaths},
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PI`, `TAU`
[INFO] [stdout]  --> wire_structs/src/sampler/approximation_function.rs:1:35
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::{FRAC_PI_2, PI, TAU};
[INFO] [stdout]   |                                   ^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PI`, `TAU`, `ops::Mul`
[INFO] [stdout]  --> wire_structs/src/sampler/combined_ray_approximation.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 |     f32::consts::{FRAC_PI_2, PI, TAU},
[INFO] [stdout]   |                              ^^  ^^^
[INFO] [stdout] 3 |     ops::Mul,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PI`
[INFO] [stdout]  --> wire_structs/src/sampler/distance_velocity_paths.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::{PI, TAU};
[INFO] [stdout]   |                        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Vec2`
[INFO] [stdout]  --> wire_structs/src/sampler/gpu/gpu_state.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glam::Vec2;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> wire_structs/src/sampler/gpu/gpu_state.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Field`
[INFO] [stdout]   --> wire_structs/src/sampler/gpu/gpu_state.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     field::{Field, Particle},
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> wire_structs/src/sampler/simple_path_generator.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 |     distance_velocity_paths::{self, DistanceVelocityPaths},
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_distance`
[INFO] [stdout]    --> wire_structs/src/sampler/gpu/gpu_state.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         max_distance: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_distance`
[INFO] [stdout]    --> wire_structs/src/sampler/gpu/gpu_state.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         max_distance: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> wire_structs/src/sampler/simulated_path.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |               return final_angle - FRAC_PI_2;
[INFO] [stdout]     |               ------------------------------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 110 | /         if quarter_dist == 0. {
[INFO] [stdout] 111 | |             // hits black hole
[INFO] [stdout] 112 | |             if final_angle >= PI {
[INFO] [stdout] 113 | |                 let final_angle = 2. * TAU - final_angle;
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |             }
[INFO] [stdout] 128 | |         }
[INFO] [stdout]     | |_________^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> wire_structs/src/sampler/simulated_path.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |               return final_angle - FRAC_PI_2;
[INFO] [stdout]     |               ------------------------------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 110 | /         if quarter_dist == 0. {
[INFO] [stdout] 111 | |             // hits black hole
[INFO] [stdout] 112 | |             if final_angle >= PI {
[INFO] [stdout] 113 | |                 let final_angle = 2. * TAU - final_angle;
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |             }
[INFO] [stdout] 128 | |         }
[INFO] [stdout]     | |_________^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wire_structs/src/sampler/combined_ray_approximation.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut ray_copy = ray.clone();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wire_structs/src/sampler/combined_ray_approximation.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut approx = optimize(
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d_i`
[INFO] [stdout]    --> wire_structs/src/sampler/gpu/gpu_state.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 |     for (d_i, d) in dist.generate_list().iter().enumerate() {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_d_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wire_structs/src/sampler/combined_ray_approximation.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut ray_copy = ray.clone();
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> wire_structs/src/sampler/combined_ray_approximation.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let mut approx = optimize(
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d_i`
[INFO] [stdout]    --> wire_structs/src/sampler/gpu/gpu_state.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 |     for (d_i, d) in dist.generate_list().iter().enumerate() {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_d_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |             .filter(|(i, dist)| **dist > 0.)
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_index`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let final_index = match final_index {
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quarter_dist`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let quarter_dist = self.ray.angle_dist[quarter_index];
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quarter_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angles`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn final_angle(&self, angles: &Vec<f32>) -> f32 {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_angles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:85:23
[INFO] [stdout]    |
[INFO] [stdout] 85 |             .filter(|(i, dist)| **dist > 0.)
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimal_min_dist` is never used
[INFO] [stdout]   --> wire_structs/src/sampler/approximation_function.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn optimal_min_dist(path: &SimulatedPath, angles: &Vec<f32>) -> f32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_buffer` is never used
[INFO] [stdout]   --> wire_structs/src/sampler/gpu/field.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Field {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 12 |     pub fn to_buffer(&self, device: &Device) -> (Buffer, usize) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `initial_speed`, and `spawn_particle` are never used
[INFO] [stdout]   --> wire_structs/src/sampler/gpu/field.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Field {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(radius: f64, camera_distance: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn initial_speed(&self, particle_start: &Vec2) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn spawn_particle(&self, p: Vec2, velocity_direction: Vec2) -> Particle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |             .filter(|(i, dist)| **dist > 0.)
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_index`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |         let final_index = match final_index {
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `quarter_dist`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let quarter_dist = self.ray.angle_dist[quarter_index];
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quarter_dist`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angles`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn final_angle(&self, angles: &Vec<f32>) -> f32 {
[INFO] [stdout]    |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_angles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> wire_structs/src/sampler/simulated_path.rs:85:23
[INFO] [stdout]    |
[INFO] [stdout] 85 |             .filter(|(i, dist)| **dist > 0.)
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `optimal_min_dist` is never used
[INFO] [stdout]   --> wire_structs/src/sampler/approximation_function.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn optimal_min_dist(path: &SimulatedPath, angles: &Vec<f32>) -> f32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_buffer` is never used
[INFO] [stdout]   --> wire_structs/src/sampler/gpu/field.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Field {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 12 |     pub fn to_buffer(&self, device: &Device) -> (Buffer, usize) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `initial_speed`, and `spawn_particle` are never used
[INFO] [stdout]   --> wire_structs/src/sampler/gpu/field.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Field {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(radius: f64, camera_distance: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn initial_speed(&self, particle_start: &Vec2) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn spawn_particle(&self, p: Vec2, velocity_direction: Vec2) -> Particle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking generate-artifacts v0.1.0 (/opt/rustwide/workdir/generate_artifacts)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout]    |                     ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout] 23 +             true => 0.1 * (r - m_4) + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |             false => (0.1 * r + MIN_STEP),
[INFO] [stdout]    |                      ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -             false => (0.1 * r + MIN_STEP),
[INFO] [stdout] 24 +             false => 0.1 * r + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout]    |                     ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout] 23 +             true => 0.1 * (r - m_4) + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |             false => (0.1 * r + MIN_STEP),
[INFO] [stdout]    |                      ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -             false => (0.1 * r + MIN_STEP),
[INFO] [stdout] 24 +             false => 0.1 * r + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                   continue;
[INFO] [stdout]    |                   -------- any code following this expression is unreachable
[INFO] [stdout] 57 | /                 panic!(
[INFO] [stdout] 58 | |                     "Should always hit angle!\nz_range: {:?}\nangle: {}\nz: {}\nmax_angle: {}\nfinal_dist: {}\n",
[INFO] [stdout] 59 | |                     z_bounds,
[INFO] [stdout] 60 | |                     angle,
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |                     angle_path.get_final_dist(),
[INFO] [stdout] 64 | |                 )
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                   continue;
[INFO] [stdout]    |                   -------- any code following this expression is unreachable
[INFO] [stdout] 57 | /                 panic!(
[INFO] [stdout] 58 | |                     "Should always hit angle!\nz_range: {:?}\nangle: {}\nz: {}\nmax_angle: {}\nfinal_dist: {}\n",
[INFO] [stdout] 59 | |                     z_bounds,
[INFO] [stdout] 60 | |                     angle,
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |                     angle_path.get_final_dist(),
[INFO] [stdout] 64 | |                 )
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_as_byte_vec` is never used
[INFO] [stdout]  --> generate_artifacts/src/artifact_utils.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_file_as_byte_vec(filename: &str) -> Result<Vec<u8>, std::io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_or_generate_file` is never used
[INFO] [stdout]   --> generate_artifacts/src/artifact_utils.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_or_generate_file<T>(path: &str, generating_function: &dyn Fn() -> T) -> T
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/direction_cache.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `z_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn z_to_left_index(max_z: f64, min_z: f64, z: f64, cache_size: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_steps` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn cast_ray_steps(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound_with_grazing_distance` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn find_bound_with_grazing_distance(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound` is never used
[INFO] [stdout]    --> generate_artifacts/src/path_integration2/path.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn find_bound(camera_distance: f32, field: &Field, epsilon: f64, max_distance: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 } else if i < 0 {
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking web_wgpu v0.1.0 (/opt/rustwide/workdir/web_wgpu)
[INFO] [stdout] warning: function `get_file_as_byte_vec` is never used
[INFO] [stdout]  --> generate_artifacts/src/artifact_utils.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn get_file_as_byte_vec(filename: &str) -> Result<Vec<u8>, std::io::Error> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_or_generate_file` is never used
[INFO] [stdout]   --> generate_artifacts/src/artifact_utils.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_or_generate_file<T>(path: &str, generating_function: &dyn Fn() -> T) -> T
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/direction_cache.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `z_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn z_to_left_index(max_z: f64, min_z: f64, z: f64, cache_size: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_steps` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn cast_ray_steps(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound_with_grazing_distance` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn find_bound_with_grazing_distance(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound` is never used
[INFO] [stdout]    --> generate_artifacts/src/path_integration2/path.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn find_bound(camera_distance: f32, field: &Field, epsilon: f64, max_distance: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 } else if i < 0 {
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/combined.jpg: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             include_bytes!("combined.jpg"),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/noise.jpg: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:139:50
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Texture::from_bytes(&device, &queue, include_bytes!("noise.jpg"), "Noise").unwrap();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/angle_cache.txt: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |             serde_json::from_slice(include_bytes!("angle_cache.txt")).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/view_bounds.txt: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:289:36
[INFO] [stdout]     |
[INFO] [stdout] 289 |             serde_json::from_slice(include_bytes!("view_bounds.txt")).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/combined.jpg: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |             include_bytes!("combined.jpg"),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/noise.jpg: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:139:50
[INFO] [stdout]     |
[INFO] [stdout] 139 |             Texture::from_bytes(&device, &queue, include_bytes!("noise.jpg"), "Noise").unwrap();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/angle_cache.txt: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:237:36
[INFO] [stdout]     |
[INFO] [stdout] 237 |             serde_json::from_slice(include_bytes!("angle_cache.txt")).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read web_wgpu/src/view_bounds.txt: No such file or directory (os error 2)
[INFO] [stdout]    --> web_wgpu/src/lib.rs:289:36
[INFO] [stdout]     |
[INFO] [stdout] 289 |             serde_json::from_slice(include_bytes!("view_bounds.txt")).unwrap();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout]    |                     ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout] 23 +             true => 0.1 * (r - m_4) + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |             false => (0.1 * r + MIN_STEP),
[INFO] [stdout]    |                      ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -             false => (0.1 * r + MIN_STEP),
[INFO] [stdout] 24 +             false => 0.1 * r + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout]    |                     ^                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -             true => (0.1 * (r - m_4) + MIN_STEP),
[INFO] [stdout] 23 +             true => 0.1 * (r - m_4) + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |             false => (0.1 * r + MIN_STEP),
[INFO] [stdout]    |                      ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -             false => (0.1 * r + MIN_STEP),
[INFO] [stdout] 24 +             false => 0.1 * r + MIN_STEP,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                   continue;
[INFO] [stdout]    |                   -------- any code following this expression is unreachable
[INFO] [stdout] 57 | /                 panic!(
[INFO] [stdout] 58 | |                     "Should always hit angle!\nz_range: {:?}\nangle: {}\nz: {}\nmax_angle: {}\nfinal_dist: {}\n",
[INFO] [stdout] 59 | |                     z_bounds,
[INFO] [stdout] 60 | |                     angle,
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |                     angle_path.get_final_dist(),
[INFO] [stdout] 64 | |                 )
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseWheel::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> web_wgpu/src/lib.rs:501:17
[INFO] [stdout]     |
[INFO] [stdout] 501 |                 modifiers: _,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> web_wgpu/src/lib.rs:525:17
[INFO] [stdout]     |
[INFO] [stdout] 525 |                 modifiers: _,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `web_wgpu` (lib test) due to 5 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |                   continue;
[INFO] [stdout]    |                   -------- any code following this expression is unreachable
[INFO] [stdout] 57 | /                 panic!(
[INFO] [stdout] 58 | |                     "Should always hit angle!\nz_range: {:?}\nangle: {}\nz: {}\nmax_angle: {}\nfinal_dist: {}\n",
[INFO] [stdout] 59 | |                     z_bounds,
[INFO] [stdout] 60 | |                     angle,
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |                     angle_path.get_final_dist(),
[INFO] [stdout] 64 | |                 )
[INFO] [stdout]    | |_________________^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::panic::panic_2021` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::MouseWheel::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> web_wgpu/src/lib.rs:501:17
[INFO] [stdout]     |
[INFO] [stdout] 501 |                 modifiers: _,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `winit::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]    --> web_wgpu/src/lib.rs:525:17
[INFO] [stdout]     |
[INFO] [stdout] 525 |                 modifiers: _,
[INFO] [stdout]     |                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `web_wgpu` (lib) due to 5 previous errors; 2 warnings emitted
[INFO] [stdout] warning: variable `angle_cache` is assigned to, but never used
[INFO] [stdout]    --> generate_artifacts/src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let angle_cache;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_angle_cache` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `angle_cache` is never read
[INFO] [stdout]    --> generate_artifacts/src/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         angle_cache = get_or_generate_file(ANGLE_CACHE_PATH, &|| {
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIRECTION_CACHE_SIZE` is never used
[INFO] [stdout]  --> generate_artifacts/src/final_direction_cache/direction_cache.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const DIRECTION_CACHE_SIZE: usize = 1 << 5;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_01_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/direction_cache.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn d_01_to_left_index(d_01: f64, vec_len: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/direction_cache.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_new`, `get_z_bounds`, and `get_final_dir` are never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/direction_cache.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl DirectionCache {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn compute_new(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn get_z_bounds(&self, d_01: f64) -> (f64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn get_final_dir(&self, d_01: f64, z: f64) -> DVec3 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DISTANCE_CACHE_SIZE` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const DISTANCE_CACHE_SIZE: usize = 1 << 9;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANGLE_EPSILON` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ANGLE_EPSILON: f64 = 0.01 * TAU / 360.;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LINEAR_SCALE` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const LINEAR_SCALE: f64 = 5.;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_ANGLE` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const MAX_ANGLE: f64 = TAU;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `POW_F` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const POW_F: f64 = 32.0;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_z_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn index_to_z_01(i: usize, cache_size: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `z_01_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn z_01_to_left_index(z_01: f64, cache_size: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_z` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn index_to_z(max_z: f64, min_z: f64, i: usize, cache_size: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `z_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn z_to_left_index(max_z: f64, min_z: f64, z: f64, cache_size: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_closest_z` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn find_closest_z(camera_distance: f64, black_hole_radius: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_minimum_pertubation_z` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn find_minimum_pertubation_z(camera_distance: f64, black_hole_radius: f64, max_z: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_new` and `get_final_dir` are never used
[INFO] [stdout]    --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:87:12
[INFO] [stdout]     |
[INFO] [stdout] 86  | impl FixedDistanceDirectionCache {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 87  |     pub fn compute_new(camera_distance: f64, black_hole_radius: f64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn get_final_dir(&self, z_01: f64) -> DVec3 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALL_DISTANCE_CACHE_SIZE` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/distance_cache.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const ALL_DISTANCE_CACHE_SIZE: usize = 1 << 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `float_01_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/distance_cache.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn float_01_to_left_index(float_01: f64, vec_len: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/distance_cache.rs:30:4
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_new`, `get_z_bounds`, and `get_dist` are never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/distance_cache.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl DistanceCache {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 35 |     pub fn compute_new(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_z_bounds(&self, distance_01: f64, angle: f64) -> (f64, f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn get_dist(&self, distance_01: f64, angle: f64, z: f64) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DISTANCE_CACHE_SIZE` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_distance_cache.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DISTANCE_CACHE_SIZE: usize = 1 << 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_grazing_z` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_distance_cache.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn find_grazing_z(camera_distance: f64, black_hole_radius: f64, target_dist: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `float_01_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_distance_cache.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn float_01_to_left_index(float_01: f64, vec_len: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_distance_cache.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_new`, `get_z_bounds`, and `get_dist` are never used
[INFO] [stdout]    --> generate_artifacts/src/path_distance_cache/fixed_distance_distance_cache.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout] 58  | impl FixedDistanceDistanceCache {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 59  |     pub fn compute_new(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91  |     pub fn get_z_bounds(&self, angle_01: f64) -> (f64, f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn get_dist(&self, angle_01: f64, z: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_ANGLE` is never used
[INFO] [stdout]  --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const MIN_ANGLE: f64 = TAU * (0.1 / 360.);
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ANGLE_DISTANCE_CACHE_SIZE` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ANGLE_DISTANCE_CACHE_SIZE: usize = 1 << 5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `float_01_to_index_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn float_01_to_index_01(float_01: f64) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `float_01_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn float_01_to_left_index(float_01: f64, vec_len: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compute_new` and `get_dist` are never used
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl FixedDistanceFixedAngleDistanceCache {
[INFO] [stdout]    | ----------------------------------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn compute_new(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn get_dist(&self, z_01: f64) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_z_bounds_for_angle` is never used
[INFO] [stdout]    --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:107:4
[INFO] [stdout]     |
[INFO] [stdout] 107 | fn find_z_bounds_for_angle(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `TooClosePredicate` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | type TooClosePredicate = dyn Fn(Response) -> bool;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAY_START_DIR` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const RAY_START_DIR: DVec3 = DVec3::new(0.0, 0.0, -1.0);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_steps` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn cast_ray_steps(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_steps_response` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn cast_ray_steps_response(z: f64, camera_distance: f64, black_hole_radius: f64) -> Response {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Z_EPSILON` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 | const Z_EPSILON: f64 = 0.000000001;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_optimal_z` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn find_optimal_z(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound_with_grazing_distance` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn find_bound_with_grazing_distance(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound` is never used
[INFO] [stdout]    --> generate_artifacts/src/path_integration2/path.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn find_bound(camera_distance: f32, field: &Field, epsilon: f64, max_distance: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Response` is never constructed
[INFO] [stdout]  --> generate_artifacts/src/path_integration2/response.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Response {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/response.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Response {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new(path: Vec<DVec3>, final_dir: Option<DVec3>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hits_black_hole`, `reaches_angle`, `get_angle_dist`, and `get_final_angle` are never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/response.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Response {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 22 |     pub fn hits_black_hole(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn reaches_angle(&self, target_angle: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_angle_dist(&self) -> AnglePath {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_final_angle(&self) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnglePath` is never constructed
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/response.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AnglePath {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_max_angle`, `get_final_dist`, and `get_dist` are never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/response.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | impl AnglePath {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 60 |     pub fn new(path: &Vec<DVec3>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn get_max_angle(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_final_dist(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get_dist(&self, angle: f64) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AngleDist` is never constructed
[INFO] [stdout]    --> generate_artifacts/src/path_integration2/response.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct AngleDist {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Field` is never constructed
[INFO] [stdout]  --> generate_artifacts/src/path_integration2/structs/field.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Field {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `force`, `schwarzchild_radius`, `initial_speed`, and `spawn_particle` are never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/field.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Field {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 9  |     pub fn new(radius: f64, camera_distance: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn force(&self, pos: &DVec3) -> DVec3 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn schwarzchild_radius(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn initial_speed(&self, particle_start: &DVec3) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn spawn_particle(&self, p: DVec3, velocity_direction: DVec3) -> Particle {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Particle` is never constructed
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/field.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Particle {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_STEP` is never used
[INFO] [stdout]  --> generate_artifacts/src/path_integration2/structs/step.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const MIN_STEP: f64 = 0.0002;
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step_particle` is never used
[INFO] [stdout]  --> generate_artifacts/src/path_integration2/structs/step.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn step_particle(particle: &mut Particle, field: &Field) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `step_size` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn step_size(particle: &Particle, field: &Field) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rk4` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn rk4(particle: &Particle, field: &Field, h: f64) -> (DVec3, DVec3) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hit` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/structs/step.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn hit(particle: &Particle, field: &Field) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_combined_approximate_ray_analysis` is never used
[INFO] [stdout]  --> generate_artifacts/src/combined_approximation_utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn plot_combined_approximate_ray_analysis(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_actual_paths` is never used
[INFO] [stdout]   --> generate_artifacts/src/combined_approximation_utils.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn plot_actual_paths(paths: &Vec<SimulatedPath>, dist: &DimensionParams, angle: &DimensionParams) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_combined_rays` is never used
[INFO] [stdout]   --> generate_artifacts/src/combined_approximation_utils.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn generate_combined_rays(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_ray_property_by_dist` is never used
[INFO] [stdout]    --> generate_artifacts/src/combined_approximation_utils.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn plot_ray_property_by_dist(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_property_by_dist` is never used
[INFO] [stdout]    --> generate_artifacts/src/combined_approximation_utils.rs:173:4
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn plot_property_by_dist(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_velocity_to_dist` is never used
[INFO] [stdout]   --> generate_artifacts/src/distance_velocity_utils.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn plot_velocity_to_dist(dist: &DimensionParams, velocities: &Vec<f32>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 } else if i < 0 {
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 66 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `angle_cache` is assigned to, but never used
[INFO] [stdout]    --> generate_artifacts/src/main.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let angle_cache;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_angle_cache` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `angle_cache` is never read
[INFO] [stdout]    --> generate_artifacts/src/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         angle_cache = get_or_generate_file(ANGLE_CACHE_PATH, &|| {
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `index_to_float_01` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/direction_cache.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn index_to_float_01(index: usize, vec_len: usize) -> f64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `z_to_left_index` is never used
[INFO] [stdout]   --> generate_artifacts/src/final_direction_cache/fixed_distance_direction_cache.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn z_to_left_index(max_z: f64, min_z: f64, z: f64, cache_size: usize) -> (usize, f64) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cast_ray_steps` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn cast_ray_steps(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound_with_grazing_distance` is never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/path.rs:88:4
[INFO] [stdout]    |
[INFO] [stdout] 88 | fn find_bound_with_grazing_distance(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bound` is never used
[INFO] [stdout]    --> generate_artifacts/src/path_integration2/path.rs:118:4
[INFO] [stdout]     |
[INFO] [stdout] 118 | fn find_bound(camera_distance: f32, field: &Field, epsilon: f64, max_distance: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reaches_angle` and `get_final_angle` are never used
[INFO] [stdout]   --> generate_artifacts/src/path_integration2/response.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Response {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn reaches_angle(&self, target_angle: f64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_final_angle(&self) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_combined_approximate_ray_analysis` is never used
[INFO] [stdout]  --> generate_artifacts/src/combined_approximation_utils.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn plot_combined_approximate_ray_analysis(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_actual_paths` is never used
[INFO] [stdout]   --> generate_artifacts/src/combined_approximation_utils.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn plot_actual_paths(paths: &Vec<SimulatedPath>, dist: &DimensionParams, angle: &DimensionParams) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_combined_rays` is never used
[INFO] [stdout]   --> generate_artifacts/src/combined_approximation_utils.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn generate_combined_rays(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_ray_property_by_dist` is never used
[INFO] [stdout]    --> generate_artifacts/src/combined_approximation_utils.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn plot_ray_property_by_dist(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_property_by_dist` is never used
[INFO] [stdout]    --> generate_artifacts/src/combined_approximation_utils.rs:173:4
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn plot_property_by_dist(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `plot_velocity_to_dist` is never used
[INFO] [stdout]   --> generate_artifacts/src/distance_velocity_utils.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn plot_velocity_to_dist(dist: &DimensionParams, velocities: &Vec<f32>) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> generate_artifacts/src/path_distance_cache/fixed_distance_fixed_angle_distance_cache.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 } else if i < 0 {
[INFO] [stdout]    |                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ff9e90b1ad633b23edf66e35ca0b58290dc5a5b955074b0019c0c559db0d09c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff9e90b1ad633b23edf66e35ca0b58290dc5a5b955074b0019c0c559db0d09c1", kill_on_drop: false }`
[INFO] [stdout] ff9e90b1ad633b23edf66e35ca0b58290dc5a5b955074b0019c0c559db0d09c1
